草庐IT

Windows C++ 和微秒 sleep 的可能性

全部标签

c++ - 如何将 SleepEx 与可警告的 true 和总体最短 sleep 时间一起使用?

我有以下用例:我当前的线程需要执行operation1,等待一段时间与其他线程协调,然后需要执行操作2。在等待之间,由于文件系统事件,APC可能需要由该线程处理,这会将另一个operation1添加到某个队列中,以便在operation2完成后稍后处理当前线程。像下面这样简单的东西:while(true){processOperation1;SleepEx(...,true);processOperation2;}重要的是,在operation1和operation2之间至少要经过指定的SleepEx时间!这不需要在一个整体中,线程可以立即用于处理APC和排队另一个operation1

c++ - 查找可能是由于线程锁定(可能)引起的性能问题

我花了一些时间运行valgrind/callgrind来分析一个使用许多线程进行大量TCP/IP通信的服务器。在提高性能一段时间后,我意识到在这个特定的测试场景中,进程不受CPU限制,所以我看到的性能“改进”没有用。理论上CPU应该很忙。我知道它连接的TCP/IP设备不是限制,因为服务器在两台机器上运行。一个是PC,另一个是带有Arm处理器的嵌入式设备。即使是嵌入式设备也只有大约2%的CPU使用率,但它执行的事务要少得多——大约十分之一。尽管我们试图尽快获取数据,但两个系统最多只能获取大约2%。我的猜测是某个互斥锁被锁定并占用了一个线程。这是一个纯粹的猜测!系统中有几个线程具有公共(p

windows - `cleartool lsco -r -cvi -me` 与 `cleartool lsco -graphical` 相比非常慢。是否有可能提高它的性能?

我希望能够在命令行上使用lsco以更好地与Emacs集成,但它运行得非常慢!通常,GUI比较慢! 最佳答案 来自技术说明“Recursivelycheckoutandcheckinelements”:Itisrecommendedthatifperformanceisdegradedduetothisrecursiveoperationthateithertheoperationbechanged(saytocheckout/checkininsmallerchunks)ortostoptheoperationalltogether

c++ - 包含 Windows 上可能存在或不存在的 header

因此,我正在尝试处理各种版本的WindowsSDK中的细微差别,但在编译过程中无法准确确定我在C++中构建的WindowsSDK版本。从WindowsSDK6.1版开始,有一个WinSDKVer.h文件包含一些版本信息,我可以使用这些信息来确定正在使用的SDK版本,即使它不包含开发工具包。但是,6.0A不包含此头文件,因此简单地插入#include然后使用类似#ifdef的东西是行不通的,因为环境中没有WinSDKVer.h。我的一位同事模糊地记得一种方法,当且仅当它存在时在Windows上包含一个header,但不记得任何细节,到目前为止我在stackoverflow或互联网。如果开

windows - 来自两者的两个 kinect 和骨架流 - 可能吗?

我有两个连接在不同USBController上的kinect传感器。如果我在它们两个上都启用了骨架流,那么当我在第二个传感器上调用start方法时会出现异常:ThisAPIhasreturnedanexceptionfromanHRESULT:0x830100AA堆栈跟踪:atMicrosoft.Kinect.KinectExceptionHelper.CheckHr(Int32hr)atMicrosoft.Kinect.NuiSensor.NuiInitialize(UInt32dwFlags)atMicrosoft.Kinect.KinectSensor.Initialize(Se

c++ - 禁用任何退出软件的可能性?

我正在用C++实现大学考试软件,我想防止任何人在它运行后关闭它。目的是为了防止用户复制软件、打印屏幕并保存等目的!我最初想的是禁用ctrl-alt-del,alt+F4、alt+tab等组合键,但显然遵循这种方法并不容易,尤其是在windowsxp之后的版本中。您认为解决我的问题的可行方法是什么? 最佳答案 你当然应该采取所有正常步骤让你的应用程序拒绝自行关闭(也许除非提供密码),所以我们只是在谈论“我不想让任何人强行关闭”它”部分。一种解决方案是让您的应用成为Windows外壳。另一种解决方案是设置计算机,使当前登录的用户无权关闭

windows - 什么可能导致错误消息 'Target "1"does not exist in the project "xxx”。在 Windows 上运行 Ant?

我在Windows2003Server上使用ant.bat(在Ant1.7.1中)在build.xml文件中构建all目标。(我在错误消息中用“xxx”替换了该文件中的项目名称。)构建成功,但结束时:2009-06-1017:26:03|all:2009-06-1017:26:03|2009-06-1017:26:03|BUILDFAILED2009-06-1017:26:03|Target"1"doesnotexistintheproject"xxx"....并返回非零错误代码。我在build.xml中搜索任何可能导致此错误的内容均未成功。(当然,没有目标“1”,也没有任何可能解析“

windows - 为什么 Sleep(1) 的 sleep 时间在 Windows 中似乎是可变的?

上周我需要测试一些不同的算法功能,为了让自己更轻松,我添加了一些人工sleep并简单地测量了时钟时间。像这样:start=clock();for(inti=0;i由于Sleep的参数以毫秒为单位表示,我预计总挂钟时间约为10秒(由于算法的缘故要高很多,但现在这并不重要),这确实是我的结果。今天早上,由于新的MicrosoftWindows修补程序,我不得不重新启动我的PC,令我惊讶的是,Sleep(1)不再需要1毫秒,而是大约0.0156秒。所以我的测试结果完全搞砸了,因为总时间从10秒增加到大约156秒。我们在多台PC上对此进行了测试,显然在某些PC上,一次sleep的结果确实是1毫

php - 在 PHP 中使用 exec 命令时可能出现的权限问题

我们有一个用PHP构建的小型办公室内联网(在apache服务器上-所以WAMP),它允许我们在我们的文件服务器上创建项目文件夹。这通过使用shellexecxcopy命令和以下开关将一组模板文件夹复制到新位置来实现/e/k/i/c。我们最近(相当)升级到运行WindowsServer2008R2Standard的新文件服务器。现在xcopy命令不再在PHP中运行。但是,我知道xcopy命令是正确的,因为如果我将它复制并粘贴到命令提示符(在同一台机器上),它就可以工作。我看不到任何错误消息,但我认为这是与PHP“用户”相关的某种权限问题,但我不知道究竟是什么或如何解决它。apache服务

c++ - 错误 C4703 使用了可能未初始化的本地指针变量 'y'

我在下面提供的代码中收到一个错误,可能使用了未初始化的局部指针变量“y”和使用了可能未初始化的局部指针变量“z”。请帮我解决这个问题?UINT8*x=newUINT8[512];if(!x)gotoclean;//UINT32*y=NULL;UINT32*y=newUINT32[4];if(!y)gotoclean;//char*z=NULL;char*z=newchar[512];if(!z)gotoclean;{....SomeCode....}clean:if(x)delete[]x;if(y)delete[]y;if(z)delete[]z; 最佳答